0 |
DECLARE FUNCTION XuiDialog2B (grid, message, v0, v1, v2, v3, r0, ANY) ' ' ' ############################ ' ##### XuiDialog2B () ##### ' ############################ ' FUNCTION XuiDialog2B (grid, message, v0, v1, v2, v3, r0, (r1, r1$, r1[], r1$[])) STATIC designX, designY, designWidth, designHeight STATIC SUBADDR sub[] STATIC upperMessage STATIC XuiDialog2B ' $XuiDialog2B = 0 ' kid 0 $Label = 1 ' kid 1 $TextLine = 2 ' kid 2 $Button0 = 3 ' kid 3 $Button1 = 4 ' kid 4 $UpperKid = 4 ' ' IFZ sub[] THEN GOSUB Initialize IF XuiProcessMessage (grid, message, @v0, @v1, @v2, @v3, @r0, @r1, XuiDialog2B) THEN RETURN IF (message <= upperMessage) THEN GOSUB @sub[message] RETURN ' ' ' ***** Callback ***** message = Callback : r1 = original message ' SUB Callback message = r1 callback = message IF (message <= upperMessage) THEN GOSUB @sub[message] END SUB ' ' ' ***** Create ***** v0123 = xywh : r0 = window : r1 = parent ' SUB Create IF (v0 <= 0) THEN v0 = 0 IF (v1 <= 0) THEN v1 = 0 IF (v2 <= 0) THEN v2 = designWidth IF (v3 <= 0) THEN v3 = designHeight XuiCreateGrid (@grid, XuiDialog2B, @v0, @v1, @v2, @v3, r0, r1, &XuiDialog2B()) XuiLabel (@g, #Create, 0, 0, 0, 0, r0, grid) XuiTextLine (@g, #Create, 0, 0, 0, 0, r0, grid) XuiSendMessage ( g, #SetCallback, grid, &XuiDialog2B(), -1, -1, $TextLine, grid) XuiPushButton (@g, #Create, 0, 0, 0, 0, r0, grid) XuiSendMessage ( g, #SetCallback, grid, &XuiDialog2B(), -1, -1, $Button0, grid) XuiSendMessage ( g, #SetTextString, 0, 0, 0, 0, 0, @"Enter") XuiPushButton (@g, #Create, 0, 0, 0, 0, r0, grid) XuiSendMessage ( g, #SetCallback, grid, &XuiDialog2B(), -1, -1, $Button1, grid) XuiSendMessage ( g, #SetTextString, 0, 0, 0, 0, 0, @"Cancel") GOSUB Resize END SUB ' ' ' ***** CreateWindow ***** r0 = windowType : r1$ = display$ ' SUB CreateWindow IF (v0 = 0) THEN v0 = designX IF (v1 = 0) THEN v1 = designY IF (v2 <= 0) THEN v2 = designWidth IF (v3 <= 0) THEN v3 = designHeight XuiWindow (@window, #WindowCreate, v0, v1, v2, v3, r0, @r1$) v0 = 0 : v1 = 0 : r0 = window : ATTACH r1$ TO display$ GOSUB Create r1 = 0 : ATTACH display$ TO r1$ XuiWindow (window, #WindowRegister, grid, -1, v2, v3, @r0, @"XuiDialog2B") END SUB |